package juc;

import java.util.concurrent.locks.ReentrantLock;

public class StringDemo {
    public static void main(String[] args) {
//        String str = "abcd";
//        String str2 = "abcd";
//        String str3 = new String("abcd");
//        System.out.println(str == str2);
//        System.out.println(str == str3);

//        Xmx=2674.0M
//        free mem=175.74769592285156M
//        total mem=180.5M

//        -Xmx20m -Xms5m -XX:+PrintGCDetails
//        Xmx=18.0M
//        free mem=4.6503753662109375M
//        total mem=5.5M

//        Xmx=18.0M
//        free mem=3.6364974975585938M
//        total mem=5.5M
//
//        byte[] b = new byte[1 * 1024 * 1024];
//        System.out.println("分配了1M空间给数组");

//        成了15M，这就是已经申请了一次内存的结果。
        byte[] b = new byte[10 * 1024 * 1024];
        System.out.println("分配了10M空间给数组");
        System.gc();
        System.out.println("Xmx=" + Runtime.getRuntime().maxMemory() / 1024.0 / 1024 + "M");    //系统的最大空间
        System.out.println("free mem=" + Runtime.getRuntime().freeMemory() / 1024.0 / 1024 + "M");  //系统的空闲空间
        System.out.println("total mem=" + Runtime.getRuntime().totalMemory() / 1024.0 / 1024 + "M");  //当前可用的总空间



    }
}
